package com.chb.dao;

import com.chb.model.entity.*;
import com.chb.model.vo.BranchAllGoodsVo;
import com.chb.model.vo.BranchGoodsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ：njh
 * @date ：Created in 2023/9/26 15:59
 * @description：商品模块dao
 * @modified By：
 * @version:
 */
public interface GoodsDao {
    /**
     * 查询所有商品信息
     * **/
    public List<BranchAllGoodsVo> selectAllGoodsInfo();


    /**
     * 通过商品id查询商品信息
     *
     * @param goodsid goodsid
     */
    public Goods selectGoodsByGoodsId(Integer goodsid);

    /**
     * 查询所有商品信息
     */
    public List<Goods> getAllGoods();

    /**
     * 商品总览
     **/
    public List<BranchGoodsVo> findAllGoods(Integer staffBranchid);

    public Integer addGoods(Goods goods);

    public Integer delBranchGoods(Integer id);

    public Integer updGoods(Goods goods);

    public List<BranchGoodsVo> searchGoods(@Param("goodsname") String goodsname, @Param("keycapid") Integer keycapid, @Param("keyboardcolor") Integer keyboardcolor, @Param("shaftchooseid") Integer shaftchooseid, @Param("backlightcolorid") Integer backlightcolorid, @Param("branchid") Integer branchid);


    /**
     * 键盘颜色
     **/
    public List<KeyBoardColor> findAllKeyBoardColor();

    public Integer addKeyBoardColor(KeyBoardColor keyBoardColor);

    public Integer delKeyBoardColor(Integer keyboardcolorid);

    public Integer updKeyBoardColor(KeyBoardColor keyBoardColor);

    public List<KeyBoardColor> searchKeyBoardColor(@Param("keyboardcolorid") Integer keyboardcolorid, @Param("keyboardcolorname") String keyboardcolorname);


    /**
     * 轴体类型
     **/
    public List<ShaftChoose> findAllShaftChoose();

    public Integer addShaftChoose(ShaftChoose shaftChoose);

    public Integer delShaftChoose(Integer shaftchooseid);

    public Integer updShaftChoose(ShaftChoose shaftChoose);

    public List<ShaftChoose> searchShaftChoose(@Param("shaftchooseid") Integer shaftchooseid, @Param("shaftchoose") String shaftchoose);


    /**
     * 背光颜色
     **/
    public List<BackLightColor> findAllBackLightColor();

    public Integer addBackLightColor(BackLightColor backLightColor);

    public Integer delBackLightColor(Integer backlightcolorid);

    public Integer updBackLightColor(BackLightColor backLightColor);

    public List<BackLightColor> searchBackLightColor(@Param("backlightcolorid") Integer backlightcolorid, @Param("backlightcolorname") String backlightcolorname);


    /**
     * 下拉框需要的值
     **/
    //查找下拉框要显示的所有的键帽类型
    public List<KeyCap> searchKeyCap();

}
